Шаг 73 - Использование ActiveX

Загрузить проект

Конечно использование ActiveX довольно важный момент по причине того, что что их изготовлено больное количество. Ну не выбрасывать же их. давайте попробуем на примере календаря (MSCAL.OCX) попробовать поместить его на форму. Первое элемент OCX должен быть зарегистрирован.

Regsvr32.exe Mscal.ocx

После регистрации нам нужно создать оболочку для ActiveX (Control Wrapper). Есть специальная утилита aximp которая умеет это делать. Воспользуемся ею.

aximp MSCAL.OCX

73_1.gif (3479 b)

В результате у нас будет создано ряд файлов в каталоге.

73_2.gif (1894 b)

Эти DLL можно изучить воспользовавшись утилитой IL DASM подробнее "Шаг 9 - Просмотр класса в EXE проекте ILDasm.exe". Нас интересует именно AxMSACAL.dll так как здесь будет находиться рабочее пространство и классы календаря. Для этого мы их и смотрим.

73_3.gif (7439 b)

Пишем код на C#.

using System;
using System.Windows.Forms;
using System.Drawing;
using AxMSACAL;

class MyForm : AppForm 
{
	public static void Main()
	{
		Application.Run(new MyForm());
	}
}


class AppForm : Form
{
	public AppForm()
	{
		AxCalendar cal=new AxCalendar();
		cal.Size= new Size(200,200);
		this.Controls.Add(cal);
	}
}

Все аналогично использованию обычного элемента управления. Смотрим результат:

73_4.gif (5681 b)

Hosted by uCoz